from constants.enums import ProviderEnum
from src.accounting.ledger import Ledger
from path_utils import PathUtils
import re
import glob
import os

class Main:
    @staticmethod
    def main():
        # 获取数据路径
        data_path = PathUtils().get_data_path()
        
        # 构建文件匹配的正则表达式对象
        pattern = re.compile(r'微信支付账单(\d{8}-\d{8})\.csv')
        
        # 使用glob找到所有以.csv结尾的文件
        csv_files = glob.glob(f"{data_path.rstrip('\\')}/*.csv")
        
        # 过滤出符合正则表达式模式的文件
        matched_files = [file for file in csv_files if csv_files]
        
        # 检查是否找到了匹配的文件
        if matched_files:
            # 假设我们只需要第一个找到的文件
            file_path = matched_files[0]
            # 调用Ledger类的parse_bill方法
            Ledger().parse_bill(ProviderEnum.WECHAT, 18, file_path)
        else:
            print("没有找到匹配的文件。")
        
        # 打印找到的文件列表，用于调试
        print(data_path)

if __name__ == '__main__':
    Main.main()